"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > روابط LZ C++ React Native لخوارزمية ضغط سريعة للغاية

روابط LZ C++ React Native لخوارزمية ضغط سريعة للغاية

تم النشر بتاريخ 2024-11-08
تصفح:670

LZ C   React Native bindings for an extremely fast compression algorithm

لقد كنت أغمس أصابع قدمي في JSI وC مؤخرًا، ونتيجة لذلك، تمكنت من إنشاء حزمة صغيرة تسمى React-native-lz4. إنها مكتبة لضغط الملفات بسرعة في React Native باستخدام خوارزمية LZ4 المكتوبة بلغة C.

لا يزال الأمر تجريبيًا لأنني ما زلت أقوم بتحسين معالجة الأخطاء وتوسيع واجهة برمجة التطبيقات الخاصة بها ولكن يمكن استخدامها بالفعل (بحذر!)

الحزمة: https://github.com/mateoguzmana/react-native-lz4
يمكنك معرفة المزيد عن LZ4 على موقعه الإلكتروني: https://lz4.org/

تدعم الحزمة كلاً من البنية القديمة والجديدة، وتكشف حاليًا عن وظيفتين رئيسيتين لضغط وفك ضغط أي نوع من الملفات.

مثال أساسي:


import { compressFile, decompressFile } from 'react-native-lz4';

function onProgress(processedSize: number, totalSize: number) {
  // e.g. { processedSize: 50, totalSize: 100, progress: '50%' }
  console.log({
    processedSize,
    totalSize,
    progress: `${Math.round((processedSize / totalSize) * 100)}%`,
  });
}

const compressionResult = await compressFile(
  'path/to/file',
  'path/to/output',
  onProgress
);
const decompressionResult = await decompressFile(
  'path/to/file',
  'path/to/output',
  onProgress
);

console.log(compressionResult);
// { success: true, message: 'File compressed successfully', originalSize: 100, finalSize: 50 }

console.log(decompressionResult);
// { success: true, message: 'File decompressed successfully', originalSize: 50, finalSize: 100 }


بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/mateoguzmana/lz4-c-react-native-bindings-for-an-extremely-fast-compression-algorithm-6jh?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3